<?php
/**
 * 尝试载入数据库配置文件，如果失败则显示错误页面
 */
$configFilename = '../_Shared/DSN.php';
/*if (!is_readable($configFilename)) {
    header('Location: ../../fleaphp/Install/setup-required.php');
}*/

/**
 * 首先引入 FleaPHP 的库文件，并会做一些基本的处理
 */
define('NO_LEGACY_FLEAPHP', true);
require('../Libs/FLEA/FLEA.php');

/**
 * 指定实际代码的路径，FleaPHP 之所以能自动找到 Controller 目录和 Model 目录下的类，
 * 全靠这里指定路径。
 */
define('ROOT_DIR', dirname(__FILE__));
define('SHARED_DIR', dirname(realpath($configFilename)));
define('APP_DIR', ROOT_DIR . DS . 'APP');
define('TPL_DIR', ROOT_DIR);
define('MODEL_DIR', dirname(dirname(__FILE__)));
define('FLASH_DIR', dirname(dirname(__FILE__)) . DS . 'flash');
// UPLOAD_DIR 常量用于指示保存上传文件的根目录
define('UPLOAD_DIR', realpath(MODEL_DIR . '/Upload'));
define('FRONT_APP_DIR', dirname(dirname(__FILE__)) . DS . 'APP');

$site_url = preg_replace('/\/$/','','http://'. $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . dirname(dirname($_SERVER['PHP_SELF'])));
define('LEADTONE_DIR', $site_url);
// UPLOAD_ROOT 常量用于指示用什么 URL 路径访问上传目录
define('UPLOAD_ROOT', 'Upload');
//define('DEPLOY_MODE', true); //部署模式时启用

/**
 * 指定数据库连接设置，TableDataGateway 会自动取出 dbDSN 设置来连接数据库。
 * FLEA::loadAppInf() 会用开发者指定的应用程序设置覆盖 FleaPHP 提供的默认设置。
 * 开发者可以使用 FLEA::getAppInf() 取出任意应用程序设置。
 */
FLEA::loadAppInf($configFilename);

/**
 * 指定角色控制器路径
 */
FLEA::loadAppInf(SHARED_DIR . '/Config/BO_APP_INF.php');

define('FRONGPAGE_ADMIN',1);//首页管理
define('PRODUCT_ADMIN',2);//产品管理
define('LIST_ADMIN',3);//列表管理
define('PASSWORD_ADMIN',4);//密码管理
define('CLASSES_ADMIN',5);//分类管理
define('ACCESS_ADMIN',6);//权限管理
define('NEW_ADMIN',7);//资讯管理

//类别定义
define('PRODUCT_CLASS',5);//产品的分类
define('INDEX_IMG_CLASS',31);//首页轮播图分类
define('OTHER_IMG_CLASS',40);//首页案例（轮播右侧）
define('INDEX_CASE_CLASS',67);//首页案例（视频右侧）
define('PRODUCT_CATDES_CLASS',36);//产品分类资讯
define('NEW_CLASS',3);//资讯分类
define('SERVICE_CLASS',41);//服务分类
define('EZ_CLASS',46);//静态页分类
define('GENERAL_CLASS',36);//婚礼常识
define('VIDEO_CLASS',60);//video 
define('PHOTO_CLASS',68);//跟拍


FLEA::import(APP_DIR);
//FLEA::import(SHARED_DIR);


/**
 * 指定更多的应用程序选项
 */
FLEA::loadAppInf(SHARED_DIR . '/Config/BO_APP_INF.php');

// define the dispatcher failed callback function
function onDispatcherFailedCallback($controller,$action)
 {
       echo "request Controller is: ".$controller;
       echo "<br>request Action is:".$action;
       echo "<br><br>this controller or action is no exists!!<br><br>";

       echo "<a href=".url('BoDashboard','Index').">click here back to portal page</a>";    // 这里是控制存器或行为 action 不正确时（包括不存在）时，显示友好的信息，并提供到首页的连接
}

/**
 * FLEA::runMVC() 根据 URL 地址实例化指定的 Controller 类，调用指定的 Action 方法
 */
FLEA::runMVC();

